{ struct sockaddr_un name; int sock; size_t size;

/* Create the socket. */

sock = socket (PF_UNIX, SOCK_DGRAM, 0); if (sock < 0) { perror ("socket"); exit (EXIT_FAILURE); }

/* Bind a name to the socket. */

name.sun_family = AF_FILE; strcpy (name.sun_path, filename);

/* The size of the address is the offset of the start of the filename, plus its length, plus one for the terminating null byte. */ size = (offsetof (struct sockaddr_un, sun_path) + strlen (name.sun_path) + 1);

if (bind (sock, (struct sockaddr *) &name, size) < 0) { perror ("bind"); exit (EXIT_FAILURE); }

return sock; }


This document was generated on March 29, 2022 using texi2html 5.0.